function myCall(context) {
  const ctx = context || window
  ctx.func = this
  const arg = Array.from(arguments).slice(1)
  const res = arg.length ? ctx.func(...arg) : ctx.func()
  delete ctx.func
  return res
}
